Apparatus and method for improving the user interface of integrated voice response systems

ABSTRACT

An improved prompting system for accessing specified functions in an interactive voice response (IVR) system. The IVR system ( 101 ) presents a plurality of prompts to callers. The prompts are typically presented in a predetermined order. However, the IVR system ( 101 ) improves the presentation by adjusting the presentation order based on a caller pattern of prompt selection. By monitoring incoming calls to determine what prompts are most frequently selected, the IVR system ( 101 ) can tailor the presentation order to the needs of individual users. The IVR system ( 101 ) can monitor either the selections made by all users or those made by a particular individual user over a configurable time period to establish the pattern of prompt selection.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 08/934,390, filed Sep. 19, 1997, titled “System and Method for Improved User Interface in Prompting Systems. This application is also related to “System and Method for Organizing Multi-media Message Folders from a Displayless Interface and Selectively Retrieving Information Using Voice Labels,” Ser. No. 08/934,148, and “System and Method for Adding a Subject Line to a Voice Mail Message,” Ser. No. 08/933,786, both filed Sep. 19, 1997 and incorporated by reference herein.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to prompting systems and, more particularly, to a method for improving a user interface for a prompting system.

[0004] 2. Description of the Related Art

[0005] Telephone-based prompting systems are in increasing use both to provide an interface to voicemail systems and to provide an interface for interactive voice response systems, such as airline reservations, bank customer account lines, and other institutional lines such those of government, utilities, credit card companies and the like. Many systems, such as those used for banking or stock trading, may be frequently accessed by individual users, often several times a day. In such systems, users are presented with hierarchical levels of prompts which are navigated by pressing buttons on the telephone keypads. The resulting DTMF (dual tone multifrequency) signals are received by the prompting system and used to access a different level in the hierarchy or to access a specified function.

[0006] Frequently, such prompting systems cause user frustration in that they provide only a predetermined set of prompts in a predetermined order. The user who knows his way through the set of prompts to reach a known destination must nevertheless be presented with a voice message identifying each prompt state. While sequential overrides are available, the user must still key in an entry for each state.

[0007] Certain known telephone prompting systems permit a user to select a function which abbreviates the prompts. Thus, for example, rather than messages such as “For information concerning flight arrivals and departures, please press 1 now”, the user might be presented with the message “Arrivals and departures, press 1.” Such systems still, however, require the user to navigate through each of the prompts prior to reaching a desired function. Similarly, other systems allow the user to skip from one hierarchical level to another hierarchical level, but only upon being provided with a separate prompt.

[0008] Such systems suffer from further disadvantages. In particular, those systems do not allow for dynamic updating; i.e., they are not automatically adaptive to usage patterns that change over time.

[0009] This particular disadvantageous in systems that are frequently accessed by users. Each user must wait through a predetermined menu presentation that is often unnecessary if the user has an established pattern of repeatedly selecting the same menu options. Considerable times saving can be achieved by reordering the menu to present the more popular options first.

[0010] For example, a voice response system of a company's human resource service center may have available various menu-driven voice response options, such as pension plan account balances, employment verification, medical payment verification, or the like. A lot of requests for information on the company's benefits plan may be received during the week immediately following an announced change. Before the change, employment verification may have been the most requested choice. In a conventional voice response system, company personnel would need to detect the change in calling patterns and manually reorder the menu in order to present the most popular selections first. Otherwise, all callers would have to endure a potentially lengthy menu presentation prior to being given the desired option.

[0011] Non-institutional dynamic prompting systems (i.e., those not already “fixed”), such as those for in-house voice mail systems, similarly suffer from inefficiencies in storage and retrieval. More particularly, users of those systems who wish to save messages have no way of organizing the stored messages when they use a displayless interface, such as a telephone. Such users have only the option of saving or not saving the messages. The messages then are saved in a linear queue. Frequently, such messages are saved in forward or reverse chronological order, without any further added information. If any of the saved messages is to be retrieved, the user must listen to each prompt for each message or for its header. The user is thus unable to screen his stored message for a desired one in particular.

[0012] While the use of a graphical user interface (GUI), such as those available in computer-telephony interface (CTI) systems, provides an ability to organize messages, such GUIs often are not available if users wish to access messages remotely.

[0013] What is needed, therefore, is an improved method for navigating among and across hierarchical menu levels in a telephone prompting system. There is particularly a need for a prompting system in which a user can more rapidly navigate to a desired function. There is a further need for an improved method of organizing voicemail or multimedia messages from a displayless interface. There is particularly a need for a prompting or messaging system which permits on-the-fly voice labeling and message organization. There is a further need for a system that permits automatic updating, and reconfiguration of the menu choices in an interactive voice response (IVR) system.

SUMMARY OF THE INVENTION

[0014] These and other drawbacks of the prior art are overcome in large part by a system and method according to the present invention. An IVR system according to an embodiment of the present invention provides for automatic updating of the order of menu options based on frequency of use, such that the most popular choices come first. In particular, an IVR system may be configured to tailor the menu for each individual user. This can be accomplished by compiling usage statistics for each user. The IVR system can monitor a user identification, such as a user personal identification number (PIN) or a user caller-ID number, and the choices which the user has previously made while accessing the system. Alternatively, a common menu can be present to all users. In this embodiment, the menu can be ordered based on choices of all users made during a predetermined prior period.

[0015] In accordance with another embodiment of the present invention, automated updating of menu presentations can also be incorporated in multimedia messaging systems, as well as voice mail systems.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] A better understanding of the present invention is obtained when the following detailed description is considered in conjunction with the following drawings in which:

[0017]FIG. 1 is a block diagram of a telephone prompting system according to an embodiment of the present invention;

[0018]FIG. 2 is a more detailed block diagram of a voicemail server according to an embodiment of the present invention;

[0019]FIG. 3 is a representation of a hierarchical menu system according to an embodiment of the present invention;

[0020]FIG. 4 is a flowchart of a method according to an embodiment of the present invention;

[0021]FIG. 5 is a flowchart of a method according to another embodiment of the present invention;

[0022]FIG. 6 is a flowchart of a method according to another embodiment of the present invention;

[0023]FIG. 7 is a flowchart of a method according to another embodiment of the present invention;

[0024]FIG. 8 is a flowchart of a method according to another embodiment of the present invention;

[0025]FIGS. 9a-b show updating a menu presentation order according to an embodiment of the invention;

[0026]FIG. 10 is a flowchart of a method for configuring the presentation order of menu options according to a further embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0027] Turning now to the drawings and with particular attention to FIG. 1, a block diagram illustrating an interactive voice response (IVR) system 101 according to an embodiment of the present invention is shown. It is noted that, while illustrated as an IVR system, any type of messaging system, such as an integrated voice and e-mail system may be employed. The IVR 101 may be a customer relations prompting system or a voicemail system, or any combination thereof. The system 101 is configured to permit enhanced organization and navigation over prior IVR's. The interactive voice response system 101 includes a private branch exchange (PBX) 100. It is noted that while a PBX 100 is shown, a variety of other switching and/or control facilities may be employed according to the present invention. Thus, FIG. 1 is exemplary only. The PBX 100 includes a central processing unit (CPU) 102 for controlling the functions of the PBX 100. The CPU 102 is representative of, for example, a Pentium, Pentium Pro or Pentium II-type manufactured by Intel Corp. of Santa Clara, Calif., or compatible processor. The CPU 102 is coupled to a storage device 104. The storage device 104 is used to store routing information relating to the hierarchical prompt system. The CPU 102 is further coupled to a voice generation unit 106 for generating predetermined voice messages. Such voice generating systems are well known in the art. The voice generation unit 106 may be either a true voice generator or a storage device with preprogrammed or prerecorded messages. The CPU 102 is coupled to a switch control unit 108 which controls switching among a plurality of devices which are operably coupled to the PBX 100. The switch control unit 108 further includes a dual tone multi-frequency (DTMF) unit 110 configured to receive and transmit DTMF and digital signals and a caller identification reception unit 111. A plurality of telephony devices 112 a-112 c such as telephones, facsimile machines, and the like, are coupled to the PBX 100. In addition, the telephony devices may include a variety of personal computers 112 d, 112 e, with telephones 113 a, 113 b coupled to them. The computers and telephones may be configured to interact with one another using the TAPI or TSAPI protocols. The PBX 100 is further coupled to the public switched telephone network (PSTN) 114.

[0028] According to an embodiment of the invention, the CPU 102 is further configured to monitor selections of menu prompts. For example, the CPU 102 monitors the DTMF receiver 110 and record the selections particular responses received in response to particular menu offerings. The results are then stored by the CPU 102 in the storage unit 104. The results may be stored either according to all users or according to particular users. The next time the user calls, the user's menu commands are provided in an updated order according to the frequency of use. For example, the next time the user calls, the CPU 102 may receive user ID information from the caller identification reception unit 111.

[0029] The caller identification reception unit 111 can be a standard caller identification unit which is configured to monitor caller identification information provided from the telephony devices. The CPU 102 may recognize the caller ID information and use it to access a stored menu order corresponding to the individual user. Alternatively, the CPU 102 may wait for a caller to input an identification number such as an account number, social security number, PIN, or the like, prior to providing the personalized menu hierarchy. The retrieval of a personalized menu can be piggy-backed onto other functions requiring a PIN or account number, such as user authentication or security checks.

[0030] In addition, a voice messaging server 103 may be coupled to the PBX 100 and configured to provide voicemail services to a plurality of users. In accordance with an embodiment of the invention, the menu presentation order can updated to reflect the most popular user selections, as will be discussed below. A voice recognition module 105, a control unit 107, and a memory 109 are provided for identifying spoken terms to be used for creating and maintaining a folder hierarchy. The voice recognition unit 105 and control 107 are configured to recognize predetermined speech and convert it to text, or otherwise use the speech to provide a “subject line” or folder title for the message and use the categories of subject to establish a folder-like hierarchy. The “subject lines” and/or folder names can be text-converted and usable by a graphical user interface (not shown), included in the personal computers 112 d, 112 e. In addition, the subject lines can be as well as being navigable by either voice or key entry.

[0031] A more detailed block diagram of a voice messaging server 103 is shown in FIG. 2. As discussed above, a voice messaging server 103 includes a control unit 107 coupled to a memory unit 109 and a voice recognition unit 105. The control unit 107 may be, for example, a microprocessor such as a Pentium or Pentium Pro. It is noted that, while illustrated as a separate unit from the PBX 100, the voice messaging server 103 may be integrated therein, and the CPU 102 may perform the voice recognition control functions, as well.

[0032] The voice recognition unit 105 is coupled to receive encoded voice data; for example, linear predictive coding filter coefficients and/or excitation encoding indices such as provided by a VSELP (vector sum excited linear prediction) coder. In a VSELP coder, the filter coefficients are representative of, for example, the resonant peaks or formants of the input speech. Other types of coding may be employed.

[0033] The voice recognition unit 105 includes a frequency response and peak detector circuit 50 configured to detect the peak values of vocal frequencies. A formant extraction unit 52 is coupled to the output of the peak detector 50 to extract the formats of the characterized speech. The formants are applied by the control unit 50 to search a phoneme database in storage unit 109, which includes information in database form which correlates formants to phonemes. The control unit 107 interacts with the database to select the best representative phoneme and applies this data to the phoneme-to-text converter. The phoneme-to-text converter generates a textual representation of the associated phoneme speech patterns. The text converted speech patterns may be representative of, for example, topics, subject lines, folder titles, input coordinates, or the like.

[0034] While a particular voice recognition module has been described above, the voice recognition unit 105 may be any of a variety of known voice recognition modules, such as phoneme based voice recognition systems, with a capability to introduce new words and make them available on the fly. In such systems, phoneme pre-processing of a sufficiently large vocabulary of lexicon may be employed, either via voice or text input. For example, the voice recognition unit 105 may be a voice recognition card such as a DVM-4S voice recognition board available from Voice Control Systems, Inc., Dallas, Tex., or may use systems such as those described in Hunt et al., U.S. Pat. No. 5,499,288, assigned to Voice Control Systems, Inc., or the system described in Vollert, U.S. Pat. No. 5,166,971, assigned to Siemens AG, or the system described in Arbel et al., U.S. Pat. No. 5,276,731 and assigned to Siemens Business Communications Systems, Inc., and which are hereby incorporated by reference in their entirety as if fully set forth herein. Another system which may be employed is De Vos and Kammerer, “Algorithm and DSP Implementation for a Speaker-independent Single-Word Speech Recognizer With Additional Speaker-Dependent Say-In Facility,” Proceedings, Third International Workshop on Interactive Voice Technology for Telecommunications Applications, Sep. 30-Oct. 1, 1996, Basking Ridge, N.J., also incorporated by reference in its entirety as if fully set forth herein. Similarly, text-to-phoneme conversion may be accomplished using the PureSpeech ReCite! system, available from Pure Speech, Inc.

[0035] The voice recognition unit 105 can be responsive to both callers and users. A caller may use or interact with the voice recognition unit 105 to provide a subject line when he leaves a message for the user. For example, if the caller calls and is directed to the user's voicemail box, the caller will be prompted to leave a message. Either before he begins recording the message or after he has concluded recording the message, the voicemail system will prompt the user to speak a subject into his telephone. The voice recognition unit 105 recognizes the speech and converts the subject line to a text equivalent, as will be discussed in greater detail below, which is stored along with the voice message.

[0036] Other techniques may be used to input a subject line. For example, the caller may enter a one or two word subject on a Touch-Tone keypad or may type the subject into a PC network computer or terminal that is connected to the voicemail system through the telephone. Text-to-phoneme conversion may then occur for phoneme-based analysis (and recognition of future voice input), as discussed in greater detail below. The text-to-phoneme conversion may be accomplished using the PureSpeech ReCite! system, available from Pure Speech, Inc. Finally, the caller can simply add the subject by speaking into the handset and the voice recorded as an audio subject with no text conversion at all. Alternatively, the system may monitor all or a predetermined portion of the message (e.g., 10 seconds) for search terms identifiable as topics.

[0037] Once the caller-supplied subject line has been added and converted to text, the system may perform searches on the subject lines of unplayed messages so that the user can access his messages by subject. If no text conversion is provided, searches may still be accomplished, though they must be based on phoneme analysis and comparison, which is more time-consuming than a text search. If no subject line provision is made, the voice recognition unit 105 may nevertheless still be provided to analyze the received voice signals. The message may be converted in its entirety to text or simply stored as phonemes.

[0038] When the user wishes to access his unplayed messages, he may do so by subject; for example, by speaking a topic such as “budget.” The system will then search through all the received unplayed messages in order to find the use of the phrase “budget.” The system will then present the user with each unplayed message relating to the topic “budget.”

[0039] The voicemail system will then provide the user with the option of storing the message. At this point, the user may accept the subject line as the name of a folder, or may speak or key in another name. If spoken, the term (either text or phoneme) is compared to the stored subjects and the appropriate message accessed. The name may be either the name of an existing folder or the name of a new folder. As will be discussed in greater detail below, in order to access stored messages, the user may either speak the name of a folder in order to be directed to all of the folders under that topic, or may speak or key in a coordinate of the folder or particular message, or may key in an alpha-numeric label for the particular label. In addition, creating the folder hierarchy using a displayless interface may also cause an update of a text-based graphical user interface folder system. For example, the search term or topic may be used as a folder name, and the message stored thereunder with some identifier. The next time the user uses his computer, he may access his message by text or a folder graphic.

[0040] Turning now to FIG. 3, a diagram generally illustrating a hierarchical prompting system 200. A caller calls the user's voicemail system and leaves a message. The voicemail server 103 may provide the caller with the option of leaving a message header, or subject line. The voice recognition unit 105 identifies the subject, which is used by the controller 107 to classify and store the message in an appropriate folder. Alternatively, the system may be configured such that a predetermined word or phrase within the body of the message are searched-for, and the message again is stored accordingly.

[0041] When accessing the system, a remote user of a telephony device 112 a-112 c calls in to the system and the CPU 102 accesses both the storage device 104 and the voice generator unit 106 to provide voice responses to various user inputs. The system may be responsive to voice recognition or a keyed entry coordinate navigation system may be provided. Initially, a welcome message 202 may be presented. The user may have the ability to speak a subject line or folder name, which will be recognized by the system. In a more limited system, the voice recognition unit may recognize only a few words or numbers. In that case, the user may speak “next”, or a coordinate, as will be discussed in greater detail below. The user will be directed to the corresponding level. Alternatively, the welcome message 202 may provide entry to a first hierarchical level 204 of menus or prompts. A plurality of prompts 204 a-204 c are then presented one after the other. At each prompt, the user may be given the option of pressing a particular button or speaking a particular phrase to proceed to a next function or level. Thus, for example, at a prompt 204 a, the user is directed to a second level of prompts 206. At a prompt 204 b, the user is directed to a second level of prompts 208.

[0042] In the example illustrated, a prompt 204 c is a terminus. When presented with the prompt 204 c, the user presses a button and a function (such as delivering a message, or delivery of account balance information in an IVR) is returned. Each prompt at the second level of prompts 206, 208 may itself be a function or give the option of proceeding to a next level of prompts. A third level of prompts, descending from the prompt 208 c of prompt level 208, is shown as prompt level 210.

[0043] As discussed above, users may be presented with a prompt message at each hierarchical prompt level. For example, at the first hierarchical prompt level 204, the user may be presented with a message at prompt 204 a. If the user undertakes no action at that point, the user will be presented with a message at prompt 204 b and if no further action is taken, the user presented with a user prompt message at prompt 204 c. If the user does not wish to wait through the entire messages at the prompts 204 a and at 204 b, but instead wishes to proceed to a selection at 204 c, the user need not do so. Instead, the user may select a key, for example, the pound (#) key or the star (*) key while the prompt at 204 a is being delivered. Alternatively, the user may speak “next”. Selecting the pound key or the star key or speaking “next” will cause the prompt message to jump from the 204 a prompt to the prompt 204 b. If the prompt message 204 b begins and the user wishes to skip the prompt 204 b, the user can speak or press the pound key or the star key again and will be delivered to the prompt message at prompt 204 c.

[0044] The user may store a particular path taken so that at a future time, the user need not navigate through the entire prompt system prior to arriving at the desired function. Thus, for example, a user may have accessed the system and been identified, for example, via a password (or account number) and navigate to a function at the third hierarchical level 210, specifically function 210 a. Either before or after the function is executed, the user may be given the option to store the function path taken, i.e., the end function selected. If the user accepts the option, for example, by selecting the pound key or the star key, the user may be given the option the next time he logs in to proceed directly to that function.

[0045] For example, the CPU 102 stores in storage unit 104 an association of the function with the user. The next time the user logs in, a new prompt may be provided to the user and a new user message provided from voice generator 106 giving the user the option of selecting a function key to directly execute the function identified by the prompt at 210 a. If the user does not wish to use the function, the user may proceed to the default prompt navigation system.

[0046] Alternatively, the system may provide the user, upon log in, of the option of inputting the coordinates of the function last selected. Thus, for example, if the last function selected was that associated with prompt 210 a, the user would be given the option of inputting the digits (3,1) (either by keying in or speaking) which represent the third hierarchical level, first function. The user would then proceed directly to that function. Again, if the user does not want that function, he may skip it or proceed in the normal course to the default navigational hierarchy.

[0047] A still further embodiment of this coordinate function does not provide a prompt at the initial log in, but merely will accept the input of coordinates that will immediately jump the user to the desired function. Thus, for example, if the user is being presented with the prompt message at prompt 204 a, the user may press pound (#) and then certain digits on the keypad (3,1) to indicate that he wishes to jump immediately to the function at prompt 210 a. Alternatively, the user may speak the words (3,1) and be directed to prompt 210 a.

[0048] The CPU 102 can store in storage unit 104 a function navigation coordinate menu which permits the user to access a specified function. For example, the user may at any time interrupt presentation of specified prompt messages and be directed to a menu. For example, the user may press the pound key or the star key and be directed to the menu system. This may include, for example, a recitation of an abbreviated prompt list followed by keys to be pressed in order to go directly to the specified function. In one embodiment, the user may input numbers corresponding to letters on the alphanumeric keypad. Thus, for example, if the user wishes balance information, the user may press buttons (2,2,5)(BAL) in order to get the balance information function. Alternatively, at each prompt, the user may be presented with a coordinate address of that particular prompt. If the user wishes to return to the prompt corresponding to a desired function sometime later in his session at the prompting system, he need only type in the numeric address given earlier. Thus, for example, if the user is at the function defined at prompt 210 b but wishes to now accomplish a function at prompt 208 b, he need only press (#,2,5) in order to return to that function.

[0049] Finally, the user may return backwards to the beginning prompt at a specified level of prompts at any time during the session. For example, if the user is at prompt level 3 but wishes to return to prompt level 1, the user may press (*,1) (or say “back, 1”) to return to prompt level 1. In this case, the user will be presented with prompt 204 a. Alternatively, the system may be configured such that the user may return backwards a predetermined number of levels according to user input. For example, the user may press (*) followed by 2 or say, “back, 2” in order to return from prompt level 3 up to prompt level 1.

[0050] As discussed above, one aspect of the present invention relates to automatically updating the order of menu presentation in IVR, multimedia, or voice messaging systems based on frequency of use. For example, turning now to FIGS. 9a-b, a diagram is shown illustrating menu order updating according to an embodiment of the present invention. In the example illustrated, an exemplary bank IVR system is shown. In particular, the IVR allows four functions: account balances, transferring of funds, verifying deposits and verifying checks. It is noted that in practice a hierarchy similar to that described in FIG. 3 may be employed, thus, FIGS. 9a-b are exemplary only. Under initial conditions, the system presents the user with the above-mentioned options in a predetermined presentation order, as shown in FIG. 9a. Prompt selection can be monitored by the system to determine how frequently each of the options is selected. Based on the frequency of user selection, presentation order of the options can be updated present the most popular selections first. An example of an updated presentation order is shown in FIG. 9b. System usage is monitored as discussed above such that the number of users who, for example, select option 3 (CHECK CLEARED) is monitored and usage is counted. The next time the user calls the system may have updated menu presentation according to frequency of usage. Accordingly, the updated menu may be presented in the following order: PRESS 3 to see if a check cleared; PRESS 2 to transfer funds; PRESS 1 for account balances; and PRESS 4 to verify a deposit. Thus, the order of presentation of the menu options is changed according to frequency of usage. However, the numbers which are to be selected have not changed. While according to one embodiment, the numbers may change, it is preferred that they remain the same because people often memorize their choices. Thus, changing the numbers in addition to the verbal order could cause confusion. For example, after a certain period of usage X, the IVR may recognize that 20% of the calls are for balance checking, 25% to transfer funds, 50% for checks clearing and 5% to verify a deposit. After a second period, for example Y hours, the menu is reordered. It is noted that the periods Y and X could stand in any relation to one another.

[0051] The frequency with which each prompt is selected can be determined by counting the number of times users select a particular option over a predetermined period of time. The sampling period can be selected to reflect variations in system usage. For instance, when there is little usage, the sampling period can be extended so that the menu is updated less frequently. Conversely, during periods of high usage, the sampling period can be shortened so that the menu can be quickly updated to reflect changes in usage.

[0052] The usage patterns can be determined from selections made by a plurality of users. Alternatively, the usage patterns of individual users can be tracked to establish personalized menu presentation orders. Individual usage patterns can be tracked by monitoring incoming calls and correlating for caller selection to either a caller-ID number or a PIN input by the caller. The usage pattern statistics can be complied by the CPU 102 and stored in the storage device 104 (FIG. 1).

[0053] Turning now to FIG. 4, a flowchart of operation of a multimedia or IVR system is shown. In a step 302, a user is allowed to access the telephone prompt menu system and is provided with a message at a first level. The user is then presented with a first of a sequence of prompts in a step 304. During presentation of a prompt message the user may select a function key or sequence of keys or speak a command in a step 306. If the user does so, the user will be presented with a prompt message corresponding to either a next prompt in the same level or a specified prompt at a lower level or the same level in a step 310. If, however, in step 306 the user did not press any function key, the user would merely be provided with the sequence of prompts in a step 308. It is noted that the system may provide a time-out or disconnect if no input is received within a predetermined period. If the user selected a key in step 308, the user would then be driven to a next level of prompts in a step 310. As discussed above, selection of a function key or keys in step 306 may include 1) referencing a preprogrammed alphanumeric address; 2) a predetermined higher level or levels above the present level; or 3) a next prompt at a same level of prompts. It may further allow the user to speak a folder, label, prompt name, or start of the application, or coordinate and be directed to the corresponding folder or application. Either a text or voice based search routine may be employed.

[0054] Turning now to FIG. 5, a flowchart 400 illustrating a method for recording and storing a navigation path or destination is shown. The method of FIG. 5 is particularly useful in a system having no voice recognition capabilities or only limited capabilities. In an initial step, for example, in a welcome message, the CPU 102 may access the voice generator 106 to provide a message to a user such that the user enters a record mode in a step 402. Entry into the record mode 402 may be accomplished, for example, by the user selecting a particular key or sequence of keys on his telephone keypad, or by speaking a particular phrase. If the user does enter the record mode, the user will be presented with a sequence of prompts in the standard order in a step 404. At any stage along the way, the user may select a prompt by speech or keyed entry in a step 406. The user's selection of a prompt may include skipping to a prompt at another level or another prompt within the same level or it may include proceeding through the prompts in the standard fashion. In either case, the CPU 102 records the selection and associates it with the user's identification number in a step 408. The user then is navigated to the appropriate level in a step 410, whereupon the user makes the desired selection in a step 412. The CPU 102 then performs the desired function and records the final selection in a step 414. If the user has not already done so, the user may store an identification code in a step 416 which the CPU will store in storage unit 104. The identification code may be an account number, for example, or other standard means of identification. The next time the user logs into the system, the user will be given the option of selecting the recorded destination path as described above.

[0055] Turning now to FIG. 6a, a flowchart illustrating a method for processing received voicemail messages is shown. More particularly, in a step 602, a caller may connect to the user's mailbox. The voicemail system will then permit the caller to deliver a message and will prompt the caller to provide a subject line in a step 604. The subject line will be received in a step 608. The subject line may include a voice subject line or a text subject line which may itself be converted to phoneme. The voice recognition unit 105 may recognize key phrases, for example, by phoneme extraction and comparison, as described above. If the subject line is entered as a voice message, it may be converted to text in a step 610. Converting the received message to text includes, for example, analyzing the frequency spectrum and identifying phonemes corresponding to appropriate speech signals and parameters. Finally, once the subject line is input and identified, the messages are stored for delivery according to subject line.

[0056] An alternative method for organizing messages grouped by topic is illustrated as a flowchart in FIG. 6b. More particularly, a caller may connect to a mailbox in a step 614. The caller may then record a message in a step 616. If a voice subject line is to be added, in a step 618, the user may speak the subject line in a step 622. The corresponding voice data are then stored in a step 624. If, in step 618, however, a subject line was not available, then the caller would simply speak the entire message and the system would analyze the whole or a predetermined portion of the message in a step 620. Relevant terms such as may be prerecorded may then be classified and stored as phonemes in a step 624. When the user wishes to access his messages he may do so by speaking a topic and they will be delivered.

[0057]FIG. 6c illustrates a flowchart of a method for a user to access a mailbox. In a step 626, the user accesses his mailbox, for example, by keying in or speaking an identification code following entry of his mailbox number. In a step 628, the voicemail system may recite a list of subjects of messages. It is noted that the subjects or labels may be either caller-provided (in the case of unplayed messages) or may be user-defined (in the case of already-played, stored messages). In the case of unplayed messages, at the end of each recitation, the user is given the option of pressing a key or speaking a command to access the message in a step 630. In case of stored messages, access may be made directly to the message, as described above (e.g., by inputting the coordinate or by speaking the subject or label name). Once the user presses the key or answers “yes”, the message will be delivered in a step 632. As will be discussed in greater detail below, in the case of accessing unplayed messages, the user may then be provided with the option of saving the message according to the caller's subject or may change the caller-provided subject to one of his own choice.

[0058] An alternate method for accessing messages in a mailbox is shown in FIG. 6d. As above, the user accesses his mailbox in a step 634. In a step 636, the user may speak a subject line or topic, for example. The subject line or topic may be that of either unplayed or stored messages. In a sorting step 638, the voicemail system's voice recognition unit 105 will analyze the spoken input and compare the phonemes with those of the stored subject lines. The system will then identify the corresponding subject line and provide the message in a step 640. Again, as will be discussed in greater detail below, in the case of unplayed messages, the user may then store the message on-the-fly according to a newly-created or already existing folder hierarchy.

[0059] A flowchart of such a method for organizing messages in a mailbox is shown in FIG. 7. More particularly, user access to a mailbox may be allowed in a step 702. The voicemail system may then play the unplayed corresponding messages in a step 704. As discussed above, the unplayed messages may be stored in an “in box” according to a caller-defined subject line. Once the messages are played, the user may be given the option of storing the messages in a step 706. If the user does not wish to store the messages, then the voicemail system will prompt the user to exit the mailbox system or to access another message. If the user wishes, however, to store the message, an opportunity is provided to identify the appropriate folder for which the message is to be stored in a step 708. User identification of the folder or label overrides the caller-supplied subject line or label, if any. The user may identify the folder by keying in letters on a touch-tone keypad or by speaking the name of the folder. If the system has voice recognition capabilities, the spoken word will be compared with the subjects of the stored folders. This comparison may be either through voice analysis (i.e., directly comparing the phonemes of the spoken words with those which identify the folders, or by text-converting the spoken words and comparing the text-converted subject line with text-converted folder names, or by comparing phoneme-converted text to stored phonemes). If the folder is identified as an existing folder in a step 710, then the message will be stored therein in a step 714.

[0060] If, however, in step 710 the message was identified as not pertaining to an existing folder, then a new folder would be created in a step 712 with the message being stored therein in a step 714. Creation of the new message folder may be by either voice methods or by keying in on a keypad, or on a keyboard affixed to a computer. Such keying in may be followed by phoneme conversion. Once the folders are identified, they may be stored on computer and converted to text such that a user may access them via a text-based graphical user interface.

[0061] Turning now to FIG. 8, a flowchart 800 illustrating a method for creating mailbox macros is illustrated. More particularly, the present invention provides a capability to create mailing lists, including “forwarding” lists or “distribution” lists, outcalling schedules, and messages on the fly. In a step 802, the user accessing the messaging system from a displayless interface inputs a command to create a mailing list. This may include, for example, speaking “Create list.” Alternatively, the user may key in a predetermined sequence of keys, as discussed above. Once the user has accessed the “create list” function, he can create the actual list, in a step 804. This may include, for example, the user speaking a desired forwarding number and recipient name. Once the desired mailing list has been created, the user stores the list in a folder with a subject heading, in a step 806. This can include, for example, the user speaking the name of the mailing list; the system associates the subject name with the mailing list folder in a manner similar to that discussed above.

[0062] The list may then be used to forward messages and/or transmit messages according to a predefined schedule. For example, in a step 808, the user may access a message. This can include accessing a newly-received message, retrieving a stored message, or creating a new message. Once the message has been accessed or created, the user may forward or transmit the message to the group defined in the mailing list, in a step 810. For example, when prompted by the messaging system whether the user wishes to forward the message, the user can speak the name of the mailing list folder. The user may also speak a specific time at which he wishes the message to be transmitted. The system accesses the folder defining the mailing list and reads the recipient names and numbers and forwards the message accordingly.

[0063] Turning now to FIG. 10, a flowchart 1000 illustrating operation of the menu updating feature according to the present invention is shown. In particular, in a step 1002 the system monitors all calls received. In a step 1004, the CPU will assign the user's selection or update a selection counter in the storage unit 104. In a step 1006, after a predetermined time the CPU will compare usages, i.e., will compare the number of “hits” to a particular menu selection. Finally, in a step 1008 the CPU 102 will update the order of presentation such that the menu order is provided in the newly updated order the next time menu selection is made. The menu can be arranged so that the more frequently selected options are presented first.

[0064] The menu updating feature, as described by FIG. 10, can be used with IVR systems, as well as multimedia and voice messaging systems. 

What is claimed is:
 1. In an interactive voice response (IVR) system, a method of prompting a user, comprising: monitoring at least one incoming call to the IVR system to determine a pattern of prompt selection; adjusting a presentation order of a plurality of prompts based on the pattern of prompt selection; and prompting the user according to the adjusted presentation order of prompts.
 2. A method according to claim 1 , further comprising: selecting a predetermined period of time for establishing the pattern of prompt selection.
 3. A method according to claim 1 , further comprising: monitoring a plurality of incoming calls from a plurality of users to generate the pattern of prompt selection.
 4. A method according to claim 1 , further comprising: monitoring a plurality of incoming calls from an individual user to generate the pattern of prompt selection.
 5. A method according to claim 1 , further comprising: selecting the presentation order as a function of a caller ID corresponding to the user.
 6. A method according to claim 1 , further comprising: selecting the presentation order as a function of a personal identification number (PIN) input by the user.
 7. A method according to claim 1 , wherein the most frequently selected prompt occurs first in the adjusted presentation order.
 8. An interactive voice response system, comprising: means for presenting a plurality of prompts in a predetermined order; means for monitoring at least one incoming call to determine a frequency of user selection for each of the prompts; means for adjusting the predetermined order of the prompts based on the frequency of user selection; and means for presenting the prompts in the adjusted order.
 9. A system according to claim 8 , further comprising: means for counting a plurality of user selections over a predetermined period of time to generate the frequency of user selection.
 10. A system according to claim 8 , wherein the frequency of user selections is based on prompt selections made by a single, predetermined user.
 11. An interactive voice response (IVR) system, comprising: a switch control unit permitting at least one telephony device to access the IVR system; a central processing unit (CPU) coupled to the switch control unit; a first software routine, executable on the CPU, for transmitting a plurality of prompts to the at least one telephony device; a second software routine, executable on the CPU, for compiling prompt selection statistics based on a plurality of caller responses to the prompts; and a third software routine for adjusting the presentation order of prompts based on the prompt selection statistics.
 12. A system according to claim 11 , further comprising: a storage device, coupled to the CPU, for storing the prompt selection statistics.
 13. A system according to claim 11 , further comprising: a caller identification reception unit coupled to the CPU.
 14. A system according to claim 11 , further comprising: a dual tone multi-frequency (DTMF) unit, coupled to the CPU, for providing the caller responses to the second software routine.
 15. A system according to claim 11 , wherein the prompt selection statistics are based on caller responses from a plurality of callers.
 16. A system according to claim 11 , wherein the prompt selection statistics are based on caller responses from a single caller.
 17. A multimedia messaging system, comprising: means for presenting a plurality of prompts in a predetermined order; means for monitoring at least one incoming call to determine a frequency of user selection for each of the prompts; means for adjusting the predetermined order of the prompts based on the frequency of user selection; means for presenting the prompts in the adjusted order; and means for accessing at least one stored message based on a user selection from the presented prompts. 